package com.suke.czx.modules.sys.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.suke.czx.common.utils.FieldConstant;
import com.suke.czx.modules.sys.entity.SysUser;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 应用模块名称: 系统用户
 * 代码描述: 系统用户持久层
 * copyright: AUZAR ALL RIGHTS RESERVED
 * company: AUZAR
 *
 * @author: 颜米晨
 * @date: 2021/08/29 16:31
 */
public interface SysUserMapper extends BaseMapper<SysUser> {
	
	/**
	 * 查询用户的所有权限
	 * @param userId 用户id
	 * @return 用户权限数据集
	 */
	List<String> queryAllPerms(Long userId);

	/**
	 * 更新密码
	 * @param userId 用户id
	 * @param password 密码
	 */
	void updateUserPassword(@Param("userId") Long userId, @Param("password") String password);

	/**
	 * 更新状态
	 * @param userId 用户id
	 * @param status 用户状态
	 * @param operatorId 操作者编码
	 */
	void updateUserStatus(@Param("userId") Long userId, @Param("status") Integer status, @Param("operatorId") Long operatorId);

	/**
	 * 根据员工编码查询员工
	 * @param userIds 员工编码
	 * @return 员工数据集
	 */
	@MapKey(value = FieldConstant.USER_ID)
	Map<String, SysUser> getUserByUserIds(String userIds);

}
